/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.devs.benchmark.modeling;

import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlType;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "atomicType", propOrder = {"parameters"})
/**
 *
 * @author Alejandro Moreno
 */
public class AtomicType extends ModelType{

    @XmlElement(nillable = true,name="parameter")
    protected List<ParameterType> parameters;
    



    public AtomicType(){}

    public AtomicType(String name){
        super(name);
    }

    public AtomicType(String name, List<ParameterType> parameters){
        super(name);
        this.parameters = parameters;
    }

    public AtomicType(String name, List<InportType> inports, List<OutportType> outports){
        super(name);
        this.inports = inports;
        this.outports = outports;
    }

    public AtomicType(String name, List<ParameterType> parameters, List<InportType> inports, List<OutportType> outports){
        super(name);
        this.parameters = parameters;
        this.inports = inports;
        this.outports = outports;
    }


    public List<ParameterType> getParameters() {
        if (parameters == null) {
            parameters = new ArrayList<ParameterType>();
        }
        return this.parameters;
    }

    

    

     



}
